当前位置:  开发笔记 > 后端 > 正文

Ruby`downcase!`返回`nil`

如何解决《Ruby`downcase!`返回`nil`》经验,为你挑选了2个好方法。

使用此代码:

input = gets.chomp.downcase!
puts input

如果输入中至少有一个大写字母,输入将被放在屏幕上,没有其大写字母.但是如果输入没有大写字母,它就会放置nil,就像没有写入任何东西一样.

我希望我的输入完全落后; 如果它是一个没有大写字母的字符串,它应该返回相同的字符串.

我想过这样的事情:

input = gets.chomp
if input.include(uppercase) then input.downcase! end

但这不起作用.我希望有人知道我应该怎么做.



1> notme1560..:

根据String的文档:(重点是我的添加)

downcase

返回str的副本,所有大写字母都替换为小写字母.该操作是区域设置不敏感的 - 只有字符"A"到"Z"受到影响.注意:案例替换仅在ASCII区域有效.

downcase!

下载str的内容,如果没有进行任何更改则返回nil.注意:案例替换仅在ASCII区域有效.

基本上它说是小写!nil如果没有大写字母,(带感叹号)将返回.

要修复你的程序:

input = gets.chomp.downcase
puts input

希望有所帮助!



2> 小智..:

这将有效:

input = gets.chomp.downcase
puts input

串#downcase

返回修改后的字符串,并保留原始未修改的字符串.

str = "Hello world!"
str.downcase # => "hello world!"
str          # => "Hello world!"

串#downcase!

修改原始字符串,nil如果未进行任何更改则返回; 如果进行了更改,则返回新字符串.

str = "Hello world!"
str.downcase! # => "hello world!"
str           # => "hello world!"
str.downcase! # => nil

!(砰)的方法

具有!/非!变体的Ruby方法以类似的方式运行是常见的.请参阅此文章,深入解释原因.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有